/***************************************************************
|	File:		DestroyEntityMessage.h
|	Author:		Doug Monroe
|	Course:		SGD
|	Purpose:	DestroyEntityMessage class stores the entity to
|				remove from the Entity Manager
***************************************************************/

#ifndef DESTROYENTITYMESSAGE_H
#define DESTROYENTITYMESSAGE_H


#include "../SGD Wrappers/SGD_Message.h"	// uses SGD::Message
class Entity;								// uses Entity*


/**************************************************************/
// DestroyEntityMessage class
//	- stores the entity to remove from the Entity Manager
//	- queued in the Message Manager to be sent to the Game
//	  when the Entity Manager is not running
class DestroyEntityMessage : public SGD::Message
{
public:
	/**********************************************************/
	// Constructor MUST be given the entity to destroy!
	DestroyEntityMessage( Entity* pEntity );
	virtual ~DestroyEntityMessage( );
	

	/**********************************************************/
	// Accessor:
	Entity*		GetEntity( void ) const {	return m_pEntity; }
	
private:
	/**********************************************************/
	// members:
	Entity*		m_pEntity = nullptr;	// entity to destroy
};

#endif //DESTROYENTITYMESSAGE_H
